using System;
using Microsoft.Pex.Framework;

namespace Benchmarks
{
    public class ReverseList
    {
        private Stack stack;

        public ReverseList(Stack stack)
        {
            this.stack = stack;
        }

        public void Add(object item)
        {
            stack.Push(item);
        }
        
        public int Count
        {
            get
            {
                return stack.Count;
            }
        }
    }

    [PexClass(typeof (ReverseList))]
    public partial class ReverseListTest
    {
        [PexMethod]
        public void TestAdd(ReverseList list, object item)
        {
            list.Add(item);
            
        }

        [PexMethod]
        public bool TestCount(ReverseList list )
        {
            if (list.Count > 5)
            {
                return true;

            }
            else
            {
                return false;
            }
        }
    }
}